module('lgx.gens.luabind.luagccxml', package.seeall)
content = 
[[#ifndef LUAGCCXML_LBIND_H
#define LUAGCCXML_LBIND_H
#include <luabind/luabind.hpp>
namespace luagccxml{
    template <typename F>
	struct fp_converter
	{
		typedef boost::mpl::true_ is_native;

		int const consumed_args(...)
		{
			return 1;
		}

		template <class U>
		static int match(lua_State* L, U, int index)
		{
			int type = lua_type(L, index);
			return (type == LUA_TNUMBER || type == LUA_TNIL) ? 0 : -1;
		}

		template <class U>
		F apply(lua_State* L, U, int index)
		{
			return (F)lua_tointeger(L, index);
		}

		void apply(lua_State* L, F f)
		{
			lua_pushinteger(L, (lua_Integer)f);
		}

		template <class U>
		void converter_postcall(lua_State*, U, int)
		{}
	};
}
#endif
]]
